#ifndef LABELHANDLERS_H_INCLUDED
#define LABELHANDLERS_H_INCLUDED

#include "main.h"

int addLabelLabel (char * errorMsg, FILE * pFile, char * writeBuffer, struct labelManager * lManager, int value);
int addSpecialLabelLabel (char * errorMsg, FILE * pFile, char * labelName, struct labelManager * lManager, int value);

int assignByteLabel (char * errorMsg, FILE * pFile, char * writeBuffer, struct labelManager * lManager);
int assignArrayLabel (char * errorMsg, FILE * pFile, char * writeBuffer, struct labelManager * lManager);

int addByteLabel (char * errorMsg, FILE * pFile, char * writeBuffer, struct labelManager * lManager);
int addArrayLabel (char * errorMsg, FILE * pFile, char * writeBuffer, struct labelManager * lManager);
int addImmediateLabel (char * errorMsg, FILE * pFile, char * writeBuffer, struct labelManager * lManager);

int findLabelByName (struct labelManager * lManager, char * name);
int findImmediateLabelByValue (struct labelManager * lManager, int value);

#endif // LABELHANDLERS_H_INCLUDED
